import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;

public class Demo1 {
    public static void main(String[] args) throws IOException {
        InputStream inputStream = null;
        try {
            inputStream = new FileInputStream("./test2.txt");//构造方法需要填写参数
            //inputStream.read();//返回 int 类型
            //byte[] bytes = new byte[1024];
            //inputStream.read(bytes);//方法执行完毕之后,就会把读到的数据填入数组中,会尽可能填满数组(一次读取多少,由数组长度来绝对)

                while (true){
                int b = inputStream.read();
                if(b==-1){
                    //读取完毕
                    break;
                }
                System.out.printf("0x%x ",b);//%x --> 输出十六进制 -->只能使用 printf
                //英文字母都是 ascll 码
            }


//            while (true){//如果内容特别长,就需要循环多次读取
//                byte[] bytes = new byte[1024];//填满了也是返回-1
//                int n = inputStream.read(bytes);
//                System.out.println(n);
//                if(n==-1){
//                    break;
//                }
//                for (int i = 0; i < n; i++) {
//                    System.out.printf("0x%x ",bytes[i]);
//                }
//            }
        }finally {
            inputStream.close();//如果代码前面出现 异常 或者 return,此时 close 就会无法执行,所以使用 finally
        }
    }
}
